Supertypes: random access buffered iterator, writer
A random access buffered writer supports explicitly querying and setting the current position, while also buffering elements bound for some target. In addition, the positions are natural numbers that correspond to adding one for each invocation of Advance_. Subtypes must support random access, allowing both forward and backward movement in the underlying sequence.